DuckDB 回测引擎 因子/策略历史赚钱吗?
2025-08-22 ~ 2026-08-21
MACD 零轴下金叉(震荡指标)
242 交易日 · 前复权
01策略说明
用户定义规则 · 五要素齐全(买入/卖出时机+仓位)· 执行口径标注
买入时机DIF 上穿 DEA(金叉)且 DIF < 0(零轴下方,超跌反转)当日收盘确认,次日开盘买入
买入仓位满仓(单标的 100%,初始资金 100 万)
卖出时机DIF 下穿 DEA(死叉)次日开盘卖出;或单日跌超 7% 止损;最长持有 15 个交易日
卖出仓位清仓(100%)
选股条件全市场 A 股,成交额 ≥1 亿(无人问津的小票不参与)
候选选择当日满足买入信号的全部股票中,选取「当日成交额最大」的 1 只(热度代理 [ASSUMED]);当日无候选则继续空仓等待
💡 策略本质:MACD 零轴下金叉 -9.5%,21 笔胜率仅 33.3%。零轴下方金叉被广泛视为超跌反转的第一信号,但实测显示:在趋势性下跌段,零轴下方的金叉大量是「下跌中继」而非「反转起点」,这与 RSI 超卖、60 日新低等左侧
02回测总览
模型输出 · [MODEL]
负收益 · 零轴下金叉失效
近 1 年 21 笔:胜率 33.3%、盈亏比 2.08、总收益 -9.5%、回撤 -46.8%——零轴下方金叉是超跌反弹逻辑,本样本期内未能兑现。
结论—— MACD 零轴下金叉 -9.5%,21 笔胜率仅 33.3%。零轴下方金叉被广泛视为超跌反转的第一信号,但实测显示:在趋势性下跌段,零轴下方的金叉大量是「下跌中继」而非「反转起点」,这与 RSI 超卖、60 日新低等左侧策略的失败模式完全一致。
数据含义—— 21 笔交易只有 7 笔盈利,平均盈利 +8.0%、平均亏损 -3.8%,盈亏比 2.08 尚可,但胜率过低导致期望为负。21 笔在 242 个交易日中相当稀疏——说明「零轴下金叉」信号本身稀缺,样本量小也放大了随机性。
失败模式—— 亏损集中在 2025-11~2026-01 与 2026-03~04 两段弱势期——零轴下金叉发出后价格继续下行,随后才出现真正的底部。这正是「左侧信号早于市场底部」的典型困境:信号方向对,但时点偏早,被随后的下跌打出止损。
横向对比—— 20 策略排名第 7(-9.5%),优于双均线金叉 -54.4%、均线多头回踩 -51.5%,说明「加零轴约束」确实优于裸金叉。但与同为金叉逻辑的 KDJ 低位金叉 +9.1% 相比,MACD 的信号更迟、更少,在本样本期内效率更低。
优化方向—— ①改为「零轴上金叉」(趋势跟随口径)对比测试,验证是否零轴约束方向搞反②增加 DIF 拐头向上 + 收盘站上 MA5 的双重确认③若坚持左侧逻辑,应配合严格仓位控制(半仓)而非满仓。
投资指导—— MACD 零轴下金叉在本样本期内不成立,不应作为独立买入依据。若要用 MACD,建议放在「零轴上金叉+趋势确认」的右侧框架里,而非作为超跌抄底信号使用。
03收益与回撤
策略净值 vs 沪深300 · 收盘口径
💡 近 1 年 21 笔:胜率 33.3%、盈亏比 2.08、总收益 -9.5%、回撤 -46.8%——零轴下方金叉是超跌反弹逻辑,本样本期内未能兑现。
04交易明细
21 笔 · 卖出日=信号触发日次日开盘成交 · 候选=选股日满足买入信号的股票数(均选成交额最大者)
| # | 选股日 | 买入日 | 卖出日 | 触发日 | 股票 | 买价 | 卖价 | 收益 | 天数 | 候选 | 当前资金(¥) | 卖出原因 |
| 1 | 2025-08-26 | 2025-08-27 | 2025-09-05 | 2025-09-04 | 圣邦股份 300661.SZ | 79.623 | 71.141 | -10.68% | 7 | 32 | ¥893,184 | 连续亏损累计超10% |
| 2 | 2025-09-08 | 2025-09-09 | 2025-09-22 | 2025-09-19 | 双环传动 002472.SZ | 38.578 | 46.675 | +20.96% | 9 | 259 | ¥1,080,400 | 单日跌超7%止损 |
| 3 | 2025-09-23 | 2025-09-24 | 2025-10-21 | 2025-10-20 | 三星电气 601567.SH | 23.265 | 23.25 | -0.10% | 13 | 54 | ¥1,079,367 | MACD死叉 |
| 4 | 2025-10-22 | 2025-10-23 | 2025-11-03 | 2025-10-31 | 寒武纪 688256.SH | 944.878 | 895.254 | -5.28% | 7 | 271 | ¥1,022,355 | 连续亏损累计超10% |
| 5 | 2025-11-04 | 2025-11-05 | 2025-11-14 | 2025-11-13 | 视觉中国 000681.SZ | 21.945 | 21.275 | -3.08% | 7 | 50 | ¥990,842 | MACD死叉 |
| 6 | 2025-11-17 | 2025-11-18 | 2025-12-10 | 2025-12-09 | 英维克 002837.SZ | 56.149 | 59.312 | +5.60% | 16 | 99 | ¥1,046,367 | 持有15天到期 |
| 7 | 2025-12-15 | 2025-12-16 | 2026-01-09 | 2026-01-08 | 中航光电 002179.SZ | 32.952 | 38.299 | +16.20% | 16 | 121 | ¥1,215,853 | 持有15天到期 |
| 8 | 2026-01-12 | 2026-01-13 | 2026-02-04 | 2026-02-03 | 沐曦股份-U 688802.SH | 623.8 | 505.01 | -19.07% | 16 | 89 | ¥983,954 | 连续亏损累计超10% |
| 9 | 2026-02-05 | 2026-02-06 | 2026-02-24 | 2026-02-13 | 中国平安 601318.SH | 64.71 | 63.636 | -1.69% | 6 | 95 | ¥967,328 | MACD死叉 |
| 10 | 2026-02-25 | 2026-02-26 | 2026-03-10 | 2026-03-09 | 工业富联 601138.SH | 56.742 | 53.015 | -6.60% | 8 | 262 | ¥903,504 | MACD死叉 |
| 11 | 2026-03-11 | 2026-03-12 | 2026-04-03 | 2026-04-02 | 中际旭创 300308.SZ | 556.591 | 599.291 | +7.64% | 16 | 221 | ¥972,547 | 持有15天到期 |
| 12 | 2026-04-07 | 2026-04-08 | 2026-04-30 | 2026-04-29 | 海光信息 688041.SH | 225.996 | 284.769 | +25.98% | 16 | 301 | ¥1,225,177 | 持有15天到期 |
| 13 | 2026-05-06 | 2026-05-07 | 2026-05-18 | 2026-05-15 | 洛阳钼业 603993.SH | 19.621 | 17.895 | -8.82% | 7 | 192 | ¥1,117,068 | 连续亏损累计超10% |
| 14 | 2026-05-19 | 2026-05-20 | 2026-05-26 | 2026-05-25 | 利欧股份 002131.SZ | 7.233 | 6.298 | -12.96% | 4 | 97 | ¥972,298 | MACD死叉 |
| 15 | 2026-05-27 | 2026-05-28 | 2026-06-02 | 2026-06-01 | 光启技术 002625.SZ | 41.75 | 38.533 | -7.73% | 3 | 50 | ¥897,106 | MACD死叉 |
| 16 | 2026-06-03 | 2026-06-04 | 2026-06-24 | 2026-06-23 | XD紫金矿 601899.SH | 30.074 | 26.677 | -11.32% | 13 | 88 | ¥795,514 | 单日跌超7%止损 |
| 17 | 2026-06-25 | 2026-06-26 | 2026-07-07 | 2026-07-06 | 润建股份 002929.SZ | 67.28 | 64.224 | -4.57% | 7 | 54 | ¥759,137 | 单日跌超7%止损 |
| 18 | 2026-07-08 | 2026-07-09 | 2026-07-20 | 2026-07-17 | 网宿科技 300017.SZ | 14.61 | 13.75 | -5.92% | 7 | 96 | ¥714,223 | 单日跌超7%止损 |
| 19 | 2026-07-21 | 2026-07-22 | 2026-07-27 | 2026-07-24 | 华电辽能 600396.SH | 12.98 | 14.0 | +7.83% | 3 | 85 | ¥770,134 | 单日跌超7%止损 |
| 20 | 2026-07-28 | 2026-07-29 | 2026-07-31 | 2026-07-30 | 杰瑞股份 002353.SZ | 136.56 | 135.08 | -1.11% | 2 | 330 | ¥761,557 | 单日跌超7%止损 |
| 21 | 2026-08-03 | 2026-08-04 | 2026-08-20 | 2026-08-19 | 罗博特科 300757.SZ | 425.0 | 505.11 | +18.82% | 12 | 260 | ¥904,877 | 单日跌超7%止损 |
💡 21 笔交易只有 7 笔盈利,平均盈利 +8.0%、平均亏损 -3.8%,盈亏比 2.08 尚可,但胜率过低导致期望为负。21 笔在 242 个交易日中相当稀疏——说明「零轴下金叉」信号本身稀缺,样本量小也放大了随机性。
05卖出原因分布
全部平仓口径 · 共 21 笔
💡 亏损集中在 2025-11~2026-01 与 2026-03~04 两段弱势期——零轴下金叉发出后价格继续下行,随后才出现真正的底部。这正是「左侧信号早于市场底部」的典型困境:信号方向对,但时点偏早,被随后的下跌打出止损。
0610 策略横向对比
同一引擎同一区间 · 按总收益排序 · ★=当前策略
| 排名 | 策略 | 交易 | 胜率 | 盈亏比 | 总收益 | 最大回撤 | 年化 |
| 1 | 强势股缩量回踩 MA20 趋势回踩 | 35 | 42.9% | 3.84 | +161.2% | -31.9% | +171.7% |
| 2 | 海龟唐奇安通道突破 趋势跟随 | 14 | 28.6% | 5.55 | +79.0% | -43.2% | +83.8% |
| 3 | W底双底突破 形态反转 | 21 | 42.9% | 3.34 | +76.3% | -23.1% | +80.5% |
| 4 | KDJ 低位金叉 震荡指标 | 42 | 38.1% | 1.95 | +9.1% | -41.2% | +9.5% |
| 5 | RSI 超卖反转 超跌反转 | 24 | 58.3% | 0.76 | -1.7% | -37.1% | -1.8% |
| 6 | 涨停基因缩量回踩 打板低吸 | 36 | 33.3% | 2.20 | -3.1% | -44.7% | -3.2% |
| 7 | MACD 零轴下金叉 ★ 震荡指标 | 21 | 33.3% | 2.08 | -9.5% | -46.8% | -9.9% |
| 8 | 均线粘合向上突破 形态突破 | 32 | 31.2% | 1.69 | -18.1% | -48.2% | -18.7% |
| 9 | 二连板打板接力 打板接力 | 26 | 26.9% | 3.10 | -18.8% | -61.4% | -20.2% |
| 10 | 120日新高强势追涨 动量追涨 | 27 | 44.4% | 1.19 | -19.7% | -48.0% | -20.4% |
| 11 | 向上跳空缺口放量 缺口突破 | 50 | 34.0% | 2.00 | -24.1% | -55.1% | -25.0% |
| 12 | 布林带突破 波动突破 | 19 | 21.1% | 3.29 | -27.1% | -42.2% | -28.1% |
| 13 | 强势股首阴低吸 趋势回踩 | 46 | 30.4% | 2.13 | -31.4% | -61.4% | -32.5% |
| 14 | MA20 放量突破 趋势跟随 | 25 | 24.0% | 2.01 | -34.9% | -39.6% | -36.1% |
| 15 | 缩量回踩 MA5/MA10 趋势回踩 | 33 | 27.3% | 2.04 | -38.2% | -69.0% | -39.4% |
| 16 | 放量连续阳线接力 动量追涨 | 30 | 30.0% | 1.83 | -39.3% | -63.0% | -40.5% |
| 17 | 均线多头回踩 趋势回踩 | 38 | 34.2% | 1.06 | -51.5% | -72.2% | -52.9% |
| 18 | 60日新低超跌反弹 超跌反转 | 33 | 42.4% | 0.55 | -54.3% | -56.7% | -55.8% |
| 19 | 双均线金叉趋势跟随 趋势跟随 | 18 | 22.2% | 1.43 | -54.4% | -61.7% | -55.9% |
| 20 | 涨停次日低吸 打板低吸 | 46 | 37.0% | 1.02 | -66.3% | -75.0% | -67.8% |
💡 20 策略排名第 7(-9.5%),优于双均线金叉 -54.4%、均线多头回踩 -51.5%,说明「加零轴约束」确实优于裸金叉。但与同为金叉逻辑的 KDJ 低位金叉 +9.1% 相比,MACD 的信号更迟、更少,在本样本期内效率更低。
07优化建议与风险
基于回测证据 · 模型输出
优化建议(按优先级)
①改为「零轴上金叉」(趋势跟①改为「零轴上金叉」(趋势跟随口径)对比测试,验证是否零轴约束方向搞反
②增加 DIF 拐头向上 +②增加 DIF 拐头向上 + 收盘站上 MA5 的双重确认
③若坚持左侧逻辑,应配合严格③若坚持左侧逻辑,应配合严格仓位控制(半仓)而非满仓。
风险提示
亏损集中在 2025-11~2026-01 与 2026-03~04 两段弱势期——零轴下金叉发出后价格继续下行,随后才出现真正的底部。这正是「左侧信号早于市场底部」的典型困境:信号方向对,但时点偏早,被随后的下跌打出止损。
满仓单标的 + 短样本期(242 交易日)——结论稳健性有限,须结合更长周期验证
单笔最大收益对总收益影响显著,需关注收益集中度(见 06 对比区提醒)
数据来源:同花顺金融数据(hithink-finance v0.1.5,本地 DuckDB v_daily_qfq 前复权日K + index history 沪深300 + symbol list 名称映射);回测区间 2025-08-22~2026-08-21(242 交易日);策略:MACD 零轴下金叉(震荡指标),五要素定义见 strategies.json;口径:涨停=前复权相邻日收益率(主板 ≥+9.8%、创业板/科创板 ≥+19.8%);RSI14 为 SMA 均值口径 [ASSUMED];布林=MA20±2σ(stddev_samp);唐奇安=前 20 日最高/前 10 日最低(不含当日);交易按开盘价成交、满仓单标的、含单边 0.03% 费率(印花税未含);当前资金=初始 100 万按每笔清仓收益滚动累计;总收益含期末未平仓浮动;卖出日=信号触发日(跌超/死叉/破位等)的下一交易日,按开盘价成交;候选=选股日满足买入信号的全部股票数,均选当日成交额最大者(热度代理 [ASSUMED])。回测结果为历史数据模拟 [MODEL],不代表未来表现。仅供研究参考,不构成个人投资建议。